iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
1

DAY 1 - 戰前宣告?

前言

一直以來默默做個窺屏的小透明,這一年我決定自己來參賽啦!先來介紹一下我的背景,我是一個目前在海外留學修讀計算機科學系的香港人。我是個很懶惰的人,一直想著要自學各種新技術,但是因為沒有動力的關係,遲遲都沒有實現,因此這次的IT鐵人賽其實是被我利用來逼自己努力的工具XD

I AM A SOFTWARE DEVELOPER”

成為程序員需要很大的勇氣。身邊的人都以為你是黑客特工,能隨便黑進別人的伺服器。父母覺得你不學無術,一天到晚在玩電腦。只有你自己知道,編碼就是30%時間花在編程上面,剩下的70%都在每天每夜地毯式搜索無處不在的bug和煩惱禿頭的問題。

你需要面對的是無止境的學習——程式開發不是說你完美掌握了一個編程語言,你就能寫出舉世無雙的程式。編程語言只是你的工具,更重要的是編程概念,比如說OOP、Multithreading等等,而這種概念用哪種語言來實現其實並不重要,因為語言的不同只會影響到文法,實現出來的功能是一樣的。你以為自己是在學不同國家的語言,但其實你只是學同一個國家的方言。所以當你見到有人很自豪地說自己完全學會了XX語言,你可以先翻個白眼,因為他們學會的,大概只是我們隨便google一下就能找到的“語言文法”。新概念每天都在誕生:一開始Relational Database用的好好的,結果不知道誰覺得數據之間的關係(Relation)在某些情況其實並不重要而發明了NoSQL,最後現在跑出來了只著重於數據之間的關係的Graph Database。你要學會的是“如何選擇最適合程式用途的數據庫”以及“如何跟數據庫互動”,至於用什麼語言來互動真的很重要嗎?

先舉個例子:

A妹:大俠,我的程式在加載來自數據庫的data時跑得太慢了,何以解救?

大俠:噢!你用了多線程來fetch data了沒?你這樣一次一次的fetch當然會慢啊!

A妹:對齁!

大俠:噢!如果不是經常更新的數據庫的話,你把數據放到內存(Cache)裡面就不用每次都從數據庫拿資料了啊!

A妹:對厚!謝謝大俠指教!

——當然現實中沒有大俠,只有懵懂的A妹。所以學習才會成為編程最重要的部分,只有學習後知道有”多線程“和”內存“的概念,才會想到引用到自己的程式裡面,至於要怎樣引用,谷歌大神幫到你。

天天向上,努力學習新技術

我的文章主要是介紹(對我而言的)新技術/新概念,會比較著重於講述他們的用途(技術層面方面的),然後會實際操作使用一下。實作用的語言應該統一為Python,除非有個別情況。有必要會跟其他同類型的技術比較。打頭陣的將會是最近發展神速的數據庫們——Graph Database, Search Engine和Time Series Database。這個年代只會SQL是活不下去的!

技術STACK:

  • [ ] Graph Database (Neo4j) (進行中)
  • [ ] GraphQL
  • [ ] Time Series Database
  • [ ] Elastic Search
  • [ ] MessageQueue (RabbitMQ)
  • [ ] Pub/Sub Messaging System (Kafka)

謝謝看到最後的你。


下一篇
DAY 2 - 所以說什麼是Graph Database?
系列文
那些年我們忙著堆滿自己的技術棧Tech Stack2
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言